home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / puma.lha / puma / m2c / Scanner.h < prev    next >
C/C++ Source or Header  |  1992-09-25  |  3KB  |  103 lines

  1. #define DEFINITION_Scanner
  2.  
  3. #ifndef DEFINITION_Strings
  4. #include "Strings.h"
  5. #endif
  6.  
  7. #ifndef DEFINITION_StringMem
  8. #include "StringMem.h"
  9. #endif
  10.  
  11. #ifndef DEFINITION_Idents
  12. #include "Idents.h"
  13. #endif
  14.  
  15. #ifndef DEFINITION_Texts
  16. #include "Texts.h"
  17. #endif
  18.  
  19. #ifndef DEFINITION_Positions
  20. #include "Positions.h"
  21. #endif
  22.  
  23. typedef struct Scanner_1 {
  24.     Idents_tIdent Ident;
  25. } Scanner_yyIdent;
  26. typedef struct Scanner_2 {
  27.     Idents_tIdent Ident;
  28. } Scanner_yyOperator;
  29. typedef struct Scanner_3 {
  30.     Idents_tIdent Ident;
  31. } Scanner_yyIncOperator;
  32. typedef struct Scanner_4 {
  33.     Texts_tText Text;
  34. } Scanner_yyTargetBlock;
  35. typedef struct Scanner_5 {
  36.     StringMem_tStringRef StringRef;
  37. } Scanner_yyString;
  38. typedef struct Scanner_6 {
  39.     StringMem_tStringRef StringRef;
  40. } Scanner_yyNumber;
  41. typedef struct Scanner_7 {
  42.     StringMem_tStringRef StringRef;
  43. } Scanner_yyTargetCode;
  44. typedef struct Scanner_8 {
  45.     StringMem_tStringRef StringRef;
  46. } Scanner_yyWhiteSpace;
  47. typedef struct Scanner_9 {
  48.     StringMem_tStringRef StringRef;
  49. } Scanner_yy9;
  50. typedef struct Scanner_10 {
  51.     Positions_tPosition Position;
  52.     union {
  53.         struct {
  54.             Scanner_yyIdent Ident;
  55.         } V_1;
  56.         struct {
  57.             Scanner_yyOperator Operator;
  58.         } V_2;
  59.         struct {
  60.             Scanner_yyIncOperator IncOperator;
  61.         } V_3;
  62.         struct {
  63.             Scanner_yyTargetBlock TargetBlock;
  64.         } V_4;
  65.         struct {
  66.             Scanner_yyString String;
  67.         } V_5;
  68.         struct {
  69.             Scanner_yyNumber Number;
  70.         } V_6;
  71.         struct {
  72.             Scanner_yyTargetCode TargetCode;
  73.         } V_7;
  74.         struct {
  75.             Scanner_yyWhiteSpace WhiteSpace;
  76.         } V_8;
  77.         struct {
  78.             Scanner_yy9 yy9;
  79.         } V_9;
  80.     } U_1;
  81. } Scanner_tScanAttribute;
  82. extern void Scanner_ErrorAttribute ARGS((INTEGER Token, Scanner_tScanAttribute *pAttribute));
  83. extern void Scanner_Error ARGS((CHAR Text[], LONGCARD , Positions_tPosition Position));
  84. extern void Scanner_ErrorI ARGS((CHAR Text[], LONGCARD , Positions_tPosition Position, Idents_tIdent Ident));
  85. extern void Scanner_Warning ARGS((CHAR Text[], LONGCARD , Positions_tPosition Position));
  86. extern void Scanner_WarningI ARGS((CHAR Text[], LONGCARD , Positions_tPosition Position, Idents_tIdent Ident));
  87. #define Scanner_EofToken    0
  88. extern INTEGER Scanner_TokenLength;
  89. extern Scanner_tScanAttribute Scanner_Attribute;
  90. extern struct Scanner_11 {
  91.     CHAR A[127 + 1];
  92. } Scanner_ScanTabName;
  93. extern PROC Scanner_Exit;
  94. extern void Scanner_BeginScanner ARGS(());
  95. extern void Scanner_BeginFile ARGS((CHAR FileName[], LONGCARD ));
  96. extern INTEGER Scanner_GetToken ARGS(());
  97. extern void Scanner_GetWord ARGS((Strings_tString *Word));
  98. extern void Scanner_GetLower ARGS((Strings_tString *Word));
  99. extern void Scanner_GetUpper ARGS((Strings_tString *Word));
  100. extern void Scanner_CloseFile ARGS(());
  101. extern void Scanner_CloseScanner ARGS(());
  102. extern void BEGIN_Scanner();
  103.